home *** CD-ROM | disk | FTP | other *** search
/ Aminet 38 / Aminet 38 (2000)(Schatztruhe)[!][Aug 2000].iso / Aminet / dev / c / CLib-SDI.lha / CLib-SDI / include2 / inline / intuition.h < prev   
Encoding:
C/C++ Source or Header  |  2000-06-25  |  21.3 KB  |  550 lines

  1. #ifndef _INLINE_INTUITION_H
  2. #define _INLINE_INTUITION_H
  3.  
  4. #ifndef __INLINE_MACROS_H
  5. #include <inline/macros.h>
  6. #endif
  7.  
  8. #ifndef INTUITION_BASE_NAME
  9. #define INTUITION_BASE_NAME IntuitionBase
  10. #endif
  11.  
  12. #define OpenIntuition() \
  13.     LP0NR(0x1E, OpenIntuition, \
  14.     , INTUITION_BASE_NAME)
  15.  
  16. #define Intuition(iEvent) \
  17.     LP1NR(0x24, Intuition, struct InputEvent *, iEvent, a0, \
  18.     , INTUITION_BASE_NAME)
  19.  
  20. #define AddGadget(window, gadget, position) \
  21.     LP3(0x2A, UWORD, AddGadget, struct Window *, window, a0, struct Gadget *, gadget, a1, ULONG, position, d0, \
  22.     , INTUITION_BASE_NAME)
  23.  
  24. #define ClearDMRequest(window) \
  25.     LP1(0x30, BOOL, ClearDMRequest, struct Window *, window, a0, \
  26.     , INTUITION_BASE_NAME)
  27.  
  28. #define ClearMenuStrip(window) \
  29.     LP1NR(0x36, ClearMenuStrip, struct Window *, window, a0, \
  30.     , INTUITION_BASE_NAME)
  31.  
  32. #define ClearPointer(window) \
  33.     LP1NR(0x3C, ClearPointer, struct Window *, window, a0, \
  34.     , INTUITION_BASE_NAME)
  35.  
  36. #define CloseScreen(screen) \
  37.     LP1(0x42, BOOL, CloseScreen, struct Screen *, screen, a0, \
  38.     , INTUITION_BASE_NAME)
  39.  
  40. #define CloseWindow(window) \
  41.     LP1NR(0x48, CloseWindow, struct Window *, window, a0, \
  42.     , INTUITION_BASE_NAME)
  43.  
  44. #define CloseWorkBench() \
  45.     LP0(0x4E, LONG, CloseWorkBench, \
  46.     , INTUITION_BASE_NAME)
  47.  
  48. #define CurrentTime(seconds, micros) \
  49.     LP2NR(0x54, CurrentTime, ULONG *, seconds, a0, ULONG *, micros, a1, \
  50.     , INTUITION_BASE_NAME)
  51.  
  52. #define DisplayAlert(alertNumber, string, height) \
  53.     LP3(0x5A, BOOL, DisplayAlert, ULONG, alertNumber, d0, CONST_STRPTR, string, a0, ULONG, height, d1, \
  54.     , INTUITION_BASE_NAME)
  55.  
  56. #define DisplayBeep(screen) \
  57.     LP1NR(0x60, DisplayBeep, struct Screen *, screen, a0, \
  58.     , INTUITION_BASE_NAME)
  59.  
  60. #define DoubleClick(sSeconds, sMicros, cSeconds, cMicros) \
  61.     LP4(0x66, BOOL, DoubleClick, ULONG, sSeconds, d0, ULONG, sMicros, d1, ULONG, cSeconds, d2, ULONG, cMicros, d3, \
  62.     , INTUITION_BASE_NAME)
  63.  
  64. #define DrawBorder(rp, border, leftOffset, topOffset) \
  65.     LP4NR(0x6C, DrawBorder, struct RastPort *, rp, a0, CONST struct Border *, border, a1, LONG, leftOffset, d0, LONG, topOffset, d1, \
  66.     , INTUITION_BASE_NAME)
  67.  
  68. #define DrawImage(rp, image, leftOffset, topOffset) \
  69.     LP4NR(0x72, DrawImage, struct RastPort *, rp, a0, struct Image *, image, a1, LONG, leftOffset, d0, LONG, topOffset, d1, \
  70.     , INTUITION_BASE_NAME)
  71.  
  72. #define EndRequest(requester, window) \
  73.     LP2NR(0x78, EndRequest, struct Requester *, requester, a0, struct Window *, window, a1, \
  74.     , INTUITION_BASE_NAME)
  75.  
  76. #define GetDefPrefs(preferences, size) \
  77.     LP2(0x7E, struct Preferences *, GetDefPrefs, struct Preferences *, preferences, a0, LONG, size, d0, \
  78.     , INTUITION_BASE_NAME)
  79.  
  80. #define GetPrefs(preferences, size) \
  81.     LP2(0x84, struct Preferences *, GetPrefs, struct Preferences *, preferences, a0, LONG, size, d0, \
  82.     , INTUITION_BASE_NAME)
  83.  
  84. #define InitRequester(requester) \
  85.     LP1NR(0x8A, InitRequester, struct Requester *, requester, a0, \
  86.     , INTUITION_BASE_NAME)
  87.  
  88. #define ItemAddress(menuStrip, menuNumber) \
  89.     LP2(0x90, struct MenuItem *, ItemAddress, CONST struct Menu *, menuStrip, a0, ULONG, menuNumber, d0, \
  90.     , INTUITION_BASE_NAME)
  91.  
  92. #define ModifyIDCMP(window, flags) \
  93.     LP2(0x96, BOOL, ModifyIDCMP, struct Window *, window, a0, ULONG, flags, d0, \
  94.     , INTUITION_BASE_NAME)
  95.  
  96. #define ModifyProp(gadget, window, requester, flags, horizPot, vertPot, horizBody, vertBody) \
  97.     LP8NR(0x9C, ModifyProp, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, ULONG, flags, d0, ULONG, horizPot, d1, ULONG, vertPot, d2, ULONG, horizBody, d3, ULONG, vertBody, d4, \
  98.     , INTUITION_BASE_NAME)
  99.  
  100. #define MoveScreen(screen, dx, dy) \
  101.     LP3NR(0xA2, MoveScreen, struct Screen *, screen, a0, LONG, dx, d0, LONG, dy, d1, \
  102.     , INTUITION_BASE_NAME)
  103.  
  104. #define MoveWindow(window, dx, dy) \
  105.     LP3NR(0xA8, MoveWindow, struct Window *, window, a0, LONG, dx, d0, LONG, dy, d1, \
  106.     , INTUITION_BASE_NAME)
  107.  
  108. #define OffGadget(gadget, window, requester) \
  109.     LP3NR(0xAE, OffGadget, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  110.     , INTUITION_BASE_NAME)
  111.  
  112. #define OffMenu(window, menuNumber) \
  113.     LP2NR(0xB4, OffMenu, struct Window *, window, a0, ULONG, menuNumber, d0, \
  114.     , INTUITION_BASE_NAME)
  115.  
  116. #define OnGadget(gadget, window, requester) \
  117.     LP3NR(0xBA, OnGadget, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  118.     , INTUITION_BASE_NAME)
  119.  
  120. #define OnMenu(window, menuNumber) \
  121.     LP2NR(0xC0, OnMenu, struct Window *, window, a0, ULONG, menuNumber, d0, \
  122.     , INTUITION_BASE_NAME)
  123.  
  124. #define OpenScreen(newScreen) \
  125.     LP1(0xC6, struct Screen *, OpenScreen, CONST struct NewScreen *, newScreen, a0, \
  126.     , INTUITION_BASE_NAME)
  127.  
  128. #define OpenWindow(newWindow) \
  129.     LP1(0xCC, struct Window *, OpenWindow, CONST struct NewWindow *, newWindow, a0, \
  130.     , INTUITION_BASE_NAME)
  131.  
  132. #define OpenWorkBench() \
  133.     LP0(0xD2, ULONG, OpenWorkBench, \
  134.     , INTUITION_BASE_NAME)
  135.  
  136. #define PrintIText(rp, iText, left, top) \
  137.     LP4NR(0xD8, PrintIText, struct RastPort *, rp, a0, CONST struct IntuiText *, iText, a1, LONG, left, d0, LONG, top, d1, \
  138.     , INTUITION_BASE_NAME)
  139.  
  140. #define RefreshGadgets(gadgets, window, requester) \
  141.     LP3NR(0xDE, RefreshGadgets, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  142.     , INTUITION_BASE_NAME)
  143.  
  144. #define RemoveGadget(window, gadget) \
  145.     LP2(0xE4, UWORD, RemoveGadget, struct Window *, window, a0, struct Gadget *, gadget, a1, \
  146.     , INTUITION_BASE_NAME)
  147.  
  148. #define ReportMouse(flag, window) \
  149.     LP2NR(0xEA, ReportMouse, LONG, flag, d0, struct Window *, window, a0, \
  150.     , INTUITION_BASE_NAME)
  151.  
  152. #define Request(requester, window) \
  153.     LP2(0xF0, BOOL, Request, struct Requester *, requester, a0, struct Window *, window, a1, \
  154.     , INTUITION_BASE_NAME)
  155.  
  156. #define ScreenToBack(screen) \
  157.     LP1NR(0xF6, ScreenToBack, struct Screen *, screen, a0, \
  158.     , INTUITION_BASE_NAME)
  159.  
  160. #define ScreenToFront(screen) \
  161.     LP1NR(0xFC, ScreenToFront, struct Screen *, screen, a0, \
  162.     , INTUITION_BASE_NAME)
  163.  
  164. #define SetDMRequest(window, requester) \
  165.     LP2(0x102, BOOL, SetDMRequest, struct Window *, window, a0, struct Requester *, requester, a1, \
  166.     , INTUITION_BASE_NAME)
  167.  
  168. #define SetMenuStrip(window, menu) \
  169.     LP2(0x108, BOOL, SetMenuStrip, struct Window *, window, a0, struct Menu *, menu, a1, \
  170.     , INTUITION_BASE_NAME)
  171.  
  172. #define SetPointer(window, pointer, height, width, xOffset, yOffset) \
  173.     LP6NR(0x10E, SetPointer, struct Window *, window, a0, UWORD *, pointer, a1, LONG, height, d0, LONG, width, d1, LONG, xOffset, d2, LONG, yOffset, d3, \
  174.     , INTUITION_BASE_NAME)
  175.  
  176. #define SetWindowTitles(window, windowTitle, screenTitle) \
  177.     LP3NR(0x114, SetWindowTitles, struct Window *, window, a0, CONST_STRPTR, windowTitle, a1, CONST_STRPTR, screenTitle, a2, \
  178.     , INTUITION_BASE_NAME)
  179.  
  180. #define ShowTitle(screen, showIt) \
  181.     LP2NR(0x11A, ShowTitle, struct Screen *, screen, a0, LONG, showIt, d0, \
  182.     , INTUITION_BASE_NAME)
  183.  
  184. #define SizeWindow(window, dx, dy) \
  185.     LP3NR(0x120, SizeWindow, struct Window *, window, a0, LONG, dx, d0, LONG, dy, d1, \
  186.     , INTUITION_BASE_NAME)
  187.  
  188. #define ViewAddress() \
  189.     LP0(0x126, struct View *, ViewAddress, \
  190.     , INTUITION_BASE_NAME)
  191.  
  192. #define ViewPortAddress(window) \
  193.     LP1(0x12C, struct ViewPort *, ViewPortAddress, CONST struct Window *, window, a0, \
  194.     , INTUITION_BASE_NAME)
  195.  
  196. #define WindowToBack(window) \
  197.     LP1NR(0x132, WindowToBack, struct Window *, window, a0, \
  198.     , INTUITION_BASE_NAME)
  199.  
  200. #define WindowToFront(window) \
  201.     LP1NR(0x138, WindowToFront, struct Window *, window, a0, \
  202.     , INTUITION_BASE_NAME)
  203.  
  204. #define WindowLimits(window, widthMin, heightMin, widthMax, heightMax) \
  205.     LP5(0x13E, BOOL, WindowLimits, struct Window *, window, a0, LONG, widthMin, d0, LONG, heightMin, d1, ULONG, widthMax, d2, ULONG, heightMax, d3, \
  206.     , INTUITION_BASE_NAME)
  207.  
  208. #define SetPrefs(preferences, size, inform) \
  209.     LP3(0x144, struct Preferences *, SetPrefs, CONST struct Preferences *, preferences, a0, LONG, size, d0, LONG, inform, d1, \
  210.     , INTUITION_BASE_NAME)
  211.  
  212. #define IntuiTextLength(iText) \
  213.     LP1(0x14A, LONG, IntuiTextLength, CONST struct IntuiText *, iText, a0, \
  214.     , INTUITION_BASE_NAME)
  215.  
  216. #define WBenchToBack() \
  217.     LP0(0x150, BOOL, WBenchToBack, \
  218.     , INTUITION_BASE_NAME)
  219.  
  220. #define WBenchToFront() \
  221.     LP0(0x156, BOOL, WBenchToFront, \
  222.     , INTUITION_BASE_NAME)
  223.  
  224. #define AutoRequest(window, body, posText, negText, pFlag, nFlag, width, height) \
  225.     LP8(0x15C, BOOL, AutoRequest, struct Window *, window, a0, CONST struct IntuiText *, body, a1, CONST struct IntuiText *, posText, a2, CONST struct IntuiText *, negText, a3, ULONG, pFlag, d0, ULONG, nFlag, d1, ULONG, width, d2, ULONG, height, d3, \
  226.     , INTUITION_BASE_NAME)
  227.  
  228. #define BeginRefresh(window) \
  229.     LP1NR(0x162, BeginRefresh, struct Window *, window, a0, \
  230.     , INTUITION_BASE_NAME)
  231.  
  232. #define BuildSysRequest(window, body, posText, negText, flags, width, height) \
  233.     LP7(0x168, struct Window *, BuildSysRequest, struct Window *, window, a0, CONST struct IntuiText *, body, a1, CONST struct IntuiText *, posText, a2, CONST struct IntuiText *, negText, a3, ULONG, flags, d0, ULONG, width, d1, ULONG, height, d2, \
  234.     , INTUITION_BASE_NAME)
  235.  
  236. #define EndRefresh(window, complete) \
  237.     LP2NR(0x16E, EndRefresh, struct Window *, window, a0, LONG, complete, d0, \
  238.     , INTUITION_BASE_NAME)
  239.  
  240. #define FreeSysRequest(window) \
  241.     LP1NR(0x174, FreeSysRequest, struct Window *, window, a0, \
  242.     , INTUITION_BASE_NAME)
  243.  
  244. #define MakeScreen(screen) \
  245.     LP1(0x17A, LONG, MakeScreen, struct Screen *, screen, a0, \
  246.     , INTUITION_BASE_NAME)
  247.  
  248. #define RemakeDisplay() \
  249.     LP0(0x180, LONG, RemakeDisplay, \
  250.     , INTUITION_BASE_NAME)
  251.  
  252. #define RethinkDisplay() \
  253.     LP0(0x186, LONG, RethinkDisplay, \
  254.     , INTUITION_BASE_NAME)
  255.  
  256. #define AllocRemember(rememberKey, size, flags) \
  257.     LP3(0x18C, APTR, AllocRemember, struct Remember **, rememberKey, a0, ULONG, size, d0, ULONG, flags, d1, \
  258.     , INTUITION_BASE_NAME)
  259.  
  260. #define FreeRemember(rememberKey, reallyForget) \
  261.     LP2NR(0x198, FreeRemember, struct Remember **, rememberKey, a0, LONG, reallyForget, d0, \
  262.     , INTUITION_BASE_NAME)
  263.  
  264. #define LockIBase(dontknow) \
  265.     LP1(0x19E, ULONG, LockIBase, ULONG, dontknow, d0, \
  266.     , INTUITION_BASE_NAME)
  267.  
  268. #define UnlockIBase(ibLock) \
  269.     LP1NR(0x1A4, UnlockIBase, ULONG, ibLock, a0, \
  270.     , INTUITION_BASE_NAME)
  271.  
  272. #define GetScreenData(buffer, size, type, screen) \
  273.     LP4(0x1AA, LONG, GetScreenData, APTR, buffer, a0, ULONG, size, d0, ULONG, type, d1, CONST struct Screen *, screen, a1, \
  274.     , INTUITION_BASE_NAME)
  275.  
  276. #define RefreshGList(gadgets, window, requester, numGad) \
  277.     LP4NR(0x1B0, RefreshGList, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, LONG, numGad, d0, \
  278.     , INTUITION_BASE_NAME)
  279.  
  280. #define AddGList(window, gadget, position, numGad, requester) \
  281.     LP5(0x1B6, UWORD, AddGList, struct Window *, window, a0, struct Gadget *, gadget, a1, ULONG, position, d0, LONG, numGad, d1, struct Requester *, requester, a2, \
  282.     , INTUITION_BASE_NAME)
  283.  
  284. #define RemoveGList(remPtr, gadget, numGad) \
  285.     LP3(0x1BC, UWORD, RemoveGList, struct Window *, remPtr, a0, struct Gadget *, gadget, a1, LONG, numGad, d0, \
  286.     , INTUITION_BASE_NAME)
  287.  
  288. #define ActivateWindow(window) \
  289.     LP1NR(0x1C2, ActivateWindow, struct Window *, window, a0, \
  290.     , INTUITION_BASE_NAME)
  291.  
  292. #define RefreshWindowFrame(window) \
  293.     LP1NR(0x1C8, RefreshWindowFrame, struct Window *, window, a0, \
  294.     , INTUITION_BASE_NAME)
  295.  
  296. #define ActivateGadget(gadgets, window, requester) \
  297.     LP3(0x1CE, BOOL, ActivateGadget, struct Gadget *, gadgets, a0, struct Window *, window, a1, struct Requester *, requester, a2, \
  298.     , INTUITION_BASE_NAME)
  299.  
  300. #define NewModifyProp(gadget, window, requester, flags, horizPot, vertPot, horizBody, vertBody, numGad) \
  301.     LP9NR(0x1D4, NewModifyProp, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, ULONG, flags, d0, ULONG, horizPot, d1, ULONG, vertPot, d2, ULONG, horizBody, d3, ULONG, vertBody, d4, LONG, numGad, d5, \
  302.     , INTUITION_BASE_NAME)
  303.  
  304. #define QueryOverscan(displayID, rect, oScanType) \
  305.     LP3(0x1DA, LONG, QueryOverscan, ULONG, displayID, a0, struct Rectangle *, rect, a1, LONG, oScanType, d0, \
  306.     , INTUITION_BASE_NAME)
  307.  
  308. #define MoveWindowInFrontOf(window, behindWindow) \
  309.     LP2NR(0x1E0, MoveWindowInFrontOf, struct Window *, window, a0, struct Window *, behindWindow, a1, \
  310.     , INTUITION_BASE_NAME)
  311.  
  312. #define ChangeWindowBox(window, left, top, width, height) \
  313.     LP5NR(0x1E6, ChangeWindowBox, struct Window *, window, a0, LONG, left, d0, LONG, top, d1, LONG, width, d2, LONG, height, d3, \
  314.     , INTUITION_BASE_NAME)
  315.  
  316. #define SetEditHook(hook) \
  317.     LP1(0x1EC, struct Hook *, SetEditHook, struct Hook *, hook, a0, \
  318.     , INTUITION_BASE_NAME)
  319.  
  320. #define SetMouseQueue(window, queueLength) \
  321.     LP2(0x1F2, LONG, SetMouseQueue, struct Window *, window, a0, ULONG, queueLength, d0, \
  322.     , INTUITION_BASE_NAME)
  323.  
  324. #define ZipWindow(window) \
  325.     LP1NR(0x1F8, ZipWindow, struct Window *, window, a0, \
  326.     , INTUITION_BASE_NAME)
  327.  
  328. #define LockPubScreen(name) \
  329.     LP1(0x1FE, struct Screen *, LockPubScreen, CONST_STRPTR, name, a0, \
  330.     , INTUITION_BASE_NAME)
  331.  
  332. #define UnlockPubScreen(name, screen) \
  333.     LP2NR(0x204, UnlockPubScreen, CONST_STRPTR, name, a0, struct Screen *, screen, a1, \
  334.     , INTUITION_BASE_NAME)
  335.  
  336. #define LockPubScreenList() \
  337.     LP0(0x20A, struct List *, LockPubScreenList, \
  338.     , INTUITION_BASE_NAME)
  339.  
  340. #define UnlockPubScreenList() \
  341.     LP0NR(0x210, UnlockPubScreenList, \
  342.     , INTUITION_BASE_NAME)
  343.  
  344. #define NextPubScreen(screen, namebuf) \
  345.     LP2(0x216, STRPTR, NextPubScreen, CONST struct Screen *, screen, a0, STRPTR, namebuf, a1, \
  346.     , INTUITION_BASE_NAME)
  347.  
  348. #define SetDefaultPubScreen(name) \
  349.     LP1NR(0x21C, SetDefaultPubScreen, CONST_STRPTR, name, a0, \
  350.     , INTUITION_BASE_NAME)
  351.  
  352. #define SetPubScreenModes(modes) \
  353.     LP1(0x222, UWORD, SetPubScreenModes, ULONG, modes, d0, \
  354.     , INTUITION_BASE_NAME)
  355.  
  356. #define PubScreenStatus(screen, statusFlags) \
  357.     LP2(0x228, UWORD, PubScreenStatus, struct Screen *, screen, a0, ULONG, statusFlags, d0, \
  358.     , INTUITION_BASE_NAME)
  359.  
  360. #define ObtainGIRPort(gInfo) \
  361.     LP1(0x22E, struct RastPort *, ObtainGIRPort, struct GadgetInfo *, gInfo, a0, \
  362.     , INTUITION_BASE_NAME)
  363.  
  364. #define ReleaseGIRPort(rp) \
  365.     LP1NR(0x234, ReleaseGIRPort, struct RastPort *, rp, a0, \
  366.     , INTUITION_BASE_NAME)
  367.  
  368. #define GadgetMouse(gadget, gInfo, mousePoint) \
  369.     LP3NR(0x23A, GadgetMouse, struct Gadget *, gadget, a0, struct GadgetInfo *, gInfo, a1, WORD *, mousePoint, a2, \
  370.     , INTUITION_BASE_NAME)
  371.  
  372. #define GetDefaultPubScreen(nameBuffer) \
  373.     LP1NR(0x246, GetDefaultPubScreen, STRPTR, nameBuffer, a0, \
  374.     , INTUITION_BASE_NAME)
  375.  
  376. #define EasyRequestArgs(window, easyStruct, idcmpPtr, args) \
  377.     LP4(0x24C, LONG, EasyRequestArgs, struct Window *, window, a0, CONST struct EasyStruct *, easyStruct, a1, ULONG *, idcmpPtr, a2, CONST APTR, args, a3, \
  378.     , INTUITION_BASE_NAME)
  379.  
  380. #ifndef NO_INLINE_STDARG
  381. #define EasyRequest(window, easyStruct, idcmpPtr, tags...) \
  382.     ({ULONG _tags[] = {tags}; EasyRequestArgs((window), (easyStruct), (idcmpPtr), (CONST APTR) _tags);})
  383. #endif
  384.  
  385. #define BuildEasyRequestArgs(window, easyStruct, idcmp, args) \
  386.     LP4(0x252, struct Window *, BuildEasyRequestArgs, struct Window *, window, a0, CONST struct EasyStruct *, easyStruct, a1, ULONG, idcmp, d0, CONST APTR, args, a3, \
  387.     , INTUITION_BASE_NAME)
  388.  
  389. #ifndef NO_INLINE_STDARG
  390. #define BuildEasyRequest(window, easyStruct, idcmp, tags...) \
  391.     ({ULONG _tags[] = {tags}; BuildEasyRequestArgs((window), (easyStruct), (idcmp), (CONST APTR) _tags);})
  392. #endif
  393.  
  394. #define SysReqHandler(window, idcmpPtr, waitInput) \
  395.     LP3(0x258, LONG, SysReqHandler, struct Window *, window, a0, ULONG *, idcmpPtr, a1, LONG, waitInput, d0, \
  396.     , INTUITION_BASE_NAME)
  397.  
  398. #define OpenWindowTagList(newWindow, tagList) \
  399.     LP2(0x25E, struct Window *, OpenWindowTagList, CONST struct NewWindow *, newWindow, a0, CONST struct TagItem *, tagList, a1, \
  400.     , INTUITION_BASE_NAME)
  401.  
  402. #ifndef NO_INLINE_STDARG
  403. #define OpenWindowTags(newWindow, tags...) \
  404.     ({ULONG _tags[] = {tags}; OpenWindowTagList((newWindow), (CONST struct TagItem *) _tags);})
  405. #endif
  406.  
  407. #define OpenScreenTagList(newScreen, tagList) \
  408.     LP2(0x264, struct Screen *, OpenScreenTagList, CONST struct NewScreen *, newScreen, a0, CONST struct TagItem *, tagList, a1, \
  409.     , INTUITION_BASE_NAME)
  410.  
  411. #ifndef NO_INLINE_STDARG
  412. #define OpenScreenTags(newScreen, tags...) \
  413.     ({ULONG _tags[] = {tags}; OpenScreenTagList((newScreen), (CONST struct TagItem *) _tags);})
  414. #endif
  415.  
  416. #define DrawImageState(rp, image, leftOffset, topOffset, state, drawInfo) \
  417.     LP6NR(0x26A, DrawImageState, struct RastPort *, rp, a0, struct Image *, image, a1, LONG, leftOffset, d0, LONG, topOffset, d1, ULONG, state, d2, CONST struct DrawInfo *, drawInfo, a2, \
  418.     , INTUITION_BASE_NAME)
  419.  
  420. #define PointInImage(point, image) \
  421.     LP2(0x270, BOOL, PointInImage, ULONG, point, d0, struct Image *, image, a0, \
  422.     , INTUITION_BASE_NAME)
  423.  
  424. #define EraseImage(rp, image, leftOffset, topOffset) \
  425.     LP4NR(0x276, EraseImage, struct RastPort *, rp, a0, struct Image *, image, a1, LONG, leftOffset, d0, LONG, topOffset, d1, \
  426.     , INTUITION_BASE_NAME)
  427.  
  428. #define NewObjectA(classPtr, classID, tagList) \
  429.     LP3(0x27C, APTR, NewObjectA, struct IClass *, classPtr, a0, CONST_STRPTR, classID, a1, CONST struct TagItem *, tagList, a2, \
  430.     , INTUITION_BASE_NAME)
  431.  
  432. #ifndef NO_INLINE_STDARG
  433. #define NewObject(classPtr, classID, tags...) \
  434.     ({ULONG _tags[] = {tags}; NewObjectA((classPtr), (classID), (CONST struct TagItem *) _tags);})
  435. #endif
  436.  
  437. #define DisposeObject(object) \
  438.     LP1NR(0x282, DisposeObject, APTR, object, a0, \
  439.     , INTUITION_BASE_NAME)
  440.  
  441. #define SetAttrsA(object, tagList) \
  442.     LP2(0x288, ULONG, SetAttrsA, APTR, object, a0, CONST struct TagItem *, tagList, a1, \
  443.     , INTUITION_BASE_NAME)
  444.  
  445. #ifndef NO_INLINE_STDARG
  446. #define SetAttrs(object, tags...) \
  447.     ({ULONG _tags[] = {tags}; SetAttrsA((object), (CONST struct TagItem *) _tags);})
  448. #endif
  449.  
  450. #define GetAttr(attrID, object, storagePtr) \
  451.     LP3(0x28E, ULONG, GetAttr, ULONG, attrID, d0, APTR, object, a0, ULONG *, storagePtr, a1, \
  452.     , INTUITION_BASE_NAME)
  453.  
  454. #define SetGadgetAttrsA(gadget, window, requester, tagList) \
  455.     LP4(0x294, ULONG, SetGadgetAttrsA, struct Gadget *, gadget, a0, struct Window *, window, a1, struct Requester *, requester, a2, CONST struct TagItem *, tagList, a3, \
  456.     , INTUITION_BASE_NAME)
  457.  
  458. #ifndef NO_INLINE_STDARG
  459. #define SetGadgetAttrs(gadget, window, requester, tags...) \
  460.     ({ULONG _tags[] = {tags}; SetGadgetAttrsA((gadget), (window), (requester), (CONST struct TagItem *) _tags);})
  461. #endif
  462.  
  463. #define NextObject(objectPtrPtr) \
  464.     LP1(0x29A, APTR, NextObject, APTR, objectPtrPtr, a0, \
  465.     , INTUITION_BASE_NAME)
  466.  
  467. #define MakeClass(classID, superClassID, superClassPtr, instanceSize, flags) \
  468.     LP5(0x2A6, struct IClass *, MakeClass, CONST_STRPTR, classID, a0, CONST_STRPTR, superClassID, a1, CONST struct IClass *, superClassPtr, a2, ULONG, instanceSize, d0, ULONG, flags, d1, \
  469.     , INTUITION_BASE_NAME)
  470.  
  471. #define AddClass(classPtr) \
  472.     LP1NR(0x2AC, AddClass, struct IClass *, classPtr, a0, \
  473.     , INTUITION_BASE_NAME)
  474.  
  475. #define GetScreenDrawInfo(screen) \
  476.     LP1(0x2B2, struct DrawInfo *, GetScreenDrawInfo, struct Screen *, screen, a0, \
  477.     , INTUITION_BASE_NAME)
  478.  
  479. #define FreeScreenDrawInfo(screen, drawInfo) \
  480.     LP2NR(0x2B8, FreeScreenDrawInfo, struct Screen *, screen, a0, struct DrawInfo *, drawInfo, a1, \
  481.     , INTUITION_BASE_NAME)
  482.  
  483. #define ResetMenuStrip(window, menu) \
  484.     LP2(0x2BE, BOOL, ResetMenuStrip, struct Window *, window, a0, struct Menu *, menu, a1, \
  485.     , INTUITION_BASE_NAME)
  486.  
  487. #define RemoveClass(classPtr) \
  488.     LP1NR(0x2C4, RemoveClass, struct IClass *, classPtr, a0, \
  489.     , INTUITION_BASE_NAME)
  490.  
  491. #define FreeClass(classPtr) \
  492.     LP1(0x2CA, BOOL, FreeClass, struct IClass *, classPtr, a0, \
  493.     , INTUITION_BASE_NAME)
  494.  
  495. #define AllocScreenBuffer(sc, bm, flags) \
  496.     LP3(0x300, struct ScreenBuffer *, AllocScreenBuffer, struct Screen *, sc, a0, struct BitMap *, bm, a1, ULONG, flags, d0, \
  497.     , INTUITION_BASE_NAME)
  498.  
  499. #define FreeScreenBuffer(sc, sb) \
  500.     LP2NR(0x306, FreeScreenBuffer, struct Screen *, sc, a0, struct ScreenBuffer *, sb, a1, \
  501.     , INTUITION_BASE_NAME)
  502.  
  503. #define ChangeScreenBuffer(sc, sb) \
  504.     LP2(0x30C, ULONG, ChangeScreenBuffer, struct Screen *, sc, a0, struct ScreenBuffer *, sb, a1, \
  505.     , INTUITION_BASE_NAME)
  506.  
  507. #define ScreenDepth(screen, flags, reserved) \
  508.     LP3NR(0x312, ScreenDepth, struct Screen *, screen, a0, ULONG, flags, d0, APTR, reserved, a1, \
  509.     , INTUITION_BASE_NAME)
  510.  
  511. #define ScreenPosition(screen, flags, x1, y1, x2, y2) \
  512.     LP6NR(0x318, ScreenPosition, struct Screen *, screen, a0, ULONG, flags, d0, LONG, x1, d1, LONG, y1, d2, LONG, x2, d3, LONG, y2, d4, \
  513.     , INTUITION_BASE_NAME)
  514.  
  515. #define ScrollWindowRaster(win, dx, dy, xMin, yMin, xMax, yMax) \
  516.     LP7NR(0x31E, ScrollWindowRaster, struct Window *, win, a1, LONG, dx, d0, LONG, dy, d1, LONG, xMin, d2, LONG, yMin, d3, LONG, xMax, d4, LONG, yMax, d5, \
  517.     , INTUITION_BASE_NAME)
  518.  
  519. #define LendMenus(fromwindow, towindow) \
  520.     LP2NR(0x324, LendMenus, struct Window *, fromwindow, a0, struct Window *, towindow, a1, \
  521.     , INTUITION_BASE_NAME)
  522.  
  523. #define DoGadgetMethodA(gad, win, req, message) \
  524.     LP4(0x32A, ULONG, DoGadgetMethodA, struct Gadget *, gad, a0, struct Window *, win, a1, struct Requester *, req, a2, Msg, message, a3, \
  525.     , INTUITION_BASE_NAME)
  526.  
  527. #ifndef NO_INLINE_STDARG
  528. #define DoGadgetMethod(gad, win, req, tags...) \
  529.     ({ULONG _tags[] = {tags}; DoGadgetMethodA((gad), (win), (req), (Msg) _tags);})
  530. #endif
  531.  
  532. #define SetWindowPointerA(win, taglist) \
  533.     LP2NR(0x330, SetWindowPointerA, struct Window *, win, a0, CONST struct TagItem *, taglist, a1, \
  534.     , INTUITION_BASE_NAME)
  535.  
  536. #ifndef NO_INLINE_STDARG
  537. #define SetWindowPointer(win, tags...) \
  538.     ({ULONG _tags[] = {tags}; SetWindowPointerA((win), (CONST struct TagItem *) _tags);})
  539. #endif
  540.  
  541. #define TimedDisplayAlert(alertNumber, string, height, time) \
  542.     LP4(0x336, BOOL, TimedDisplayAlert, ULONG, alertNumber, d0, CONST_STRPTR, string, a0, ULONG, height, d1, ULONG, time, a1, \
  543.     , INTUITION_BASE_NAME)
  544.  
  545. #define HelpControl(win, flags) \
  546.     LP2NR(0x33C, HelpControl, struct Window *, win, a0, ULONG, flags, d0, \
  547.     , INTUITION_BASE_NAME)
  548.  
  549. #endif /*  _INLINE_INTUITION_H  */
  550.